1. Field of the Invention
The present invention relates generally to multi-axis servo drive controls, and relates more particularly to a system and method for multi-axis motion control through a single PWM unit.
2. Description of Related Art
A number of servo motor drive applications have specific requirements for multiple axes with high precision coordinated position control. For example, in the fields of robotics, electronic CAM and wafer handling, multiple-axis motion control provides coordinated three dimensional position control. Servo drive application controls are available for multi-axis motion control realized through multiple servo amplifiers with each axis unit containing an independent PWM unit, an independent closed loop current control and an independent closed loop velocity control. Each of the servo amplifiers are typically connected to a network system with a host that performs multi-axis coordinated position control, such as axis interpolation and other coordinated position control applications. The network system for the multi-axis control is often complex and somewhat expensive, since a network protocol must be implemented to permit control messages to be transmitted simultaneously, or in a synchronous communication technique to provide high speed response or real-time control. Due to the number of parameters communicated in the control messages, the communication network can be overburdened or somewhat costly when a network with a large amount of resources is used.
A typical AC servo drive system contains a closed loop current control and a velocity control. In a digital AC servo system, these controls are traditionally implemented in software. Each loop control typically has a different update rate because the dynamics of the control objectives for each control loop are different. For example, closed loop current control typically attempts to control motor torque indirectly by controlling motor phase current. The velocity control loop controls motor speed, typically with a feedback signal representing rotor speed for the motor. Torque is a high dynamic parameter, with a quick response time when compared with motor speed. Accordingly, closed loop current control is typically operated with an update rate that is much faster than that of the velocity control loop. As a typical example, closed loop current control update rates are often on the order of approximately 100 microseconds, where closed loop velocity control rates are typically 400 microseconds. The computation time for each of the control loops should be much less than the update rate for the practical implementation of the closed loop current control. For example, the closed loop current control computation time should be approximately 50 microseconds or less.
Traditional servo control methods are based on a microprocessor or a digital signal processor (DSP) that do not provide multiple axis servo drive functionality. Servo control techniques typically involve the use of a pulse width modulated (PWM) signal to drive the motor inverter switches to provide appropriate power in the windings of the motor to realize the specific servo control. However, traditional microprocessors and DSPs are provided with a PWM unit as a piece of hardware logic that is designed and implemented for single axis servo motor control. Accordingly, multi-axis servo control systems using traditional microprocessors or DSPs are implemented with a single microprocessor or DSP for each axis of the multi-axis servo control system. That is, each axis of the multi-axis servo control system has a dedicated PWM unit for controlling the switches in the inverter drive.
Referring to FIG. 1, a diagram of a traditional multi-axis servo drive system 10 is illustrated. Microprocessor or DSP 11a, 11b and 11c control individual servo axes 15a, 15b and 15c, each with an inverter drive 16a, 16b and 16c operated with a PWM unit in processor 11a, 11b or 11c, respectively.
A network 12 acts to coordinate operation of each of the servo axes under the direction of a host system 13. Network 12 interfaces with each servo axis control through a network interface 14a, 14b or 14c, respectively. Host system 13 provides coordination for the various axes by delivering commands for motion control and reading feedback data to determine parameters such as velocity and position, for example. Accordingly, the efficient operation of network 12 is important for sophisticated multi-axis servo control according to a traditional system. Host system 13 typically initiates motion coordination through network 12 by providing network messages to each controlled servo axis drive. Each servo drive, or amplifier, includes a self contained closed loop current control with PWM hardware and a velocity control. This traditional technique of providing a multi-axis servo control by coordinating a number of individual servo drives, each with a PWM unit, a power converter and several feedback loops including current sensing devices has long been used as a standard configuration for providing multi-axis servo control.
Referring now to FIG. 2, a traditional three-phase PWM unit 20 for a single axis servo control is illustrated in block diagram format. Unit 20 provides PWM signals for a single servo axis control. PWM unit 20 receives phase voltage commands for each of the phases U, V and W. The phase voltage commands are placed in a respective register 21a, 21b or 21c for each phase of the servo control. Each time a phase voltage command is updated, it is written into a respective phase register 21a–21c. At the beginning of a PWM cycle, the register values in registers 21a–21c are loaded into a respective corresponding synchronized secondary register 22a–22c. The synchronized secondary register values are compared against the PWM carrier frequency waveform generated in an up/down counter 23.
The resulting PWM waveforms from the comparison of the phase voltage commands and the carrier frequency command is applied to a deadtime insertion logic block 23a, 23b and 23c, for each of the respective motor phases. The inserted deadtime for the PWM signals is derived from the deadtime command also provided through a primary and secondary register. The output of deadtime insertion logic blocks 23a–23c is applied to gate enable logic block 24, which is influenced by the PWM enable signal and the digital filter signal applied to gate enable logic block 24. The PWM enable signal is applied through a primary and secondary register, similar to the other servo drive commands. The digital filter signal is obtained from digital filter block 25, which contains various filter parameters and a filter state that may change with each cycle of the digital control.
Gate enable logic 24 outputs the gate control signals for the switches in the inverter drive of the single axis servo control, designated as high and low signals for each of the motor phases, to control the high and low switches supplying electrical energy to each of the motor phases. PWM unit 20 accordingly provides a PWM control based on synchronous, digital logic and various servo drive controls provided from host system 13 over network 12. As shown in FIG. 1, PWM unit 20 occupies a specific portion of each of processors 11a–11c. Other portions of processors 11a–11c read sensory information from current and position feedback sensors and close the current control loop and the velocity control loop for the axis under the control of the particular processor 11a–11c. 
It would be desirable to obtain a control for a servo drive system with multiple axes that simplifies the interaction with the host system and the servo axis controllers. It would also be desirable to reduce the redundancy in the multi-axis servo control system where each servo axis is provided with an independent controller.